﻿using System;
using System.Collections.Generic;
using System.Text;

namespace IoTMqttSdk
{
    public class SendMessage
    {
        /// <summary>
        /// 固定值“deviceReq”，表示设备上报数据。
        /// </summary>
        public string MsgType => "deviceReq";
        /// <summary>
        /// 要上报的设备数据。
        /// </summary>
        public List<Service> Data { get; set; }
        //        { 
        //   "msgType":"deviceReq", 
        //   "data": [
        //      { 
        //         "serviceId": "Battery", 
        //         "serviceData": {
        //            "batteryLevel": 75
        //         }, 
        //         "eventTime":"20160503T121540Z" 
        //      }
        //   ] 
        //}
    }

    public class Service
    {
        /// <summary>
        /// 设备服务的ID。
        /// </summary>
        public string ServiceId { get; set; }
        /// <summary>
        /// 一个服务下的属性数据，具体字段在设备的产品模型中定义。
        /// </summary>
        public Dictionary<string, dynamic> ServiceData { get; set; }
        /// <summary>
        /// 设备采集数据的UTC时间（格式：yyyyMMddTHHmmssZ），如：20161219T114920Z。
        /// 设备上报数据不带该参数或参数格式错误时，则数据上报时间以物联网平台时间为准。
        /// </summary>
        public string EventTime { get; set; }
        //   { 
        //      "serviceId":"******",
        //      "serviceData":{ 
        //        "meterId":"******",
        //        "dailyActivityTime": 120,
        //        "flow": "565656",
        //        "cellId":"5656",
        //        "signalStrength":"99",
        //        "batteryVoltage":"3.5" 
        //       },
        //      "eventTime":"20160503T121540Z" 
        //   },
    }
}
